using System;

namespace BEGDC.CC.BL.Common
{

	/// <summary>
	/// Configuration information for CODM Workflow
	/// </summary>
	public class Configuration : BEGDC.Utility.Configuration.Configuration
	{
		/// <summary>
		/// Constructor
		/// </summary>
		protected Configuration() : base()
		{
			this.file_path = this["FilePath"];
			this.temp_file_path = this["TempFilePath"];
			this.amkstatus_pass = this["AMKStatus_Pass"];
			this.amkstatus_fail = this["AMKStatus_Fail"];
			
			this.tqresult_pass = this["TQResult_Pass"];
			this.iqresult_pass = this["IQResult_Pass"];
			this.tqresult_fail = this["TQResult_Fail"];
			this.iqresult_fail = this["IQResult_Fail"];
			this.memo_approved = this["Memo_Approved"];
			this.cqresult_pass = this["CQResult_Pass"];
			this.cqresult_fail = this["CQResult_Fail"];

			this.bu_accessbench = this["BU_AccessBench"];
			this.bu_bss = this["BU_BSS"];
			this.bu_qcd = this["BU_QCD"];
			this.bu_ied = this["BU_IED"];

			this.priority_high = this["Priority_High"];

			this.amktype_new = 	this["AMKType_New"];	
			this.amktype_qualified = this["AMKType_Qualified"];

			this.deptHeaders = this["DeptHeader"];

		}

		/// <summary>
		/// The module name of configruation in configuration file.
		/// </summary>
		public override string ModuleName
		{
			get
			{
				return "BEGDC.CC.BL.Workflow";
			}
		}

		private string temp_file_path;
		private string file_path;

		private string amkstatus_pass;
		private string amkstatus_fail;

		private string tqresult_pass;
		private string iqresult_pass;
		private string tqresult_fail;
		private string iqresult_fail;
		private string memo_approved;
		private string cqresult_pass;
		private string cqresult_fail;

		private string bu_accessbench;
		private string bu_bss;
		private string bu_qcd;
		private string bu_ied;

		private string priority_high;

		private string amktype_new;
		private string amktype_qualified;

		//Add by Joe 2007/5/4
		private string deptHeaders;

		private static Configuration config = null;

		/// <summary>
		/// Temp path to store uploaded file
		/// </summary>
		public static string TempFilePath
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.temp_file_path;
			}
		}

		/// <summary>
		/// Path to store uploaded file
		/// </summary>
		public static string FilePath
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.file_path;
			}
		}

		/// <summary>
		/// AMK Status: Pass
		/// </summary>
		public static string AMKStatus_Pass
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.amkstatus_pass;
			}
		}
		/// <summary>
		/// AMK Status: Fail
		/// </summary>
		public static string AMKStatus_Fail
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.amkstatus_fail;
			}
		}

		public static string BU_AccessBench
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.bu_accessbench;
			}
		}

		public static string TQResult_Pass
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.tqresult_pass;
			}
		}

		public static string IQResult_Pass
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.iqresult_pass;
			}
		}
		public static string TQResult_Fail
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.tqresult_fail;
			}
		}

		public static string IQResult_Fail
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.iqresult_fail;
			}
		}	

		public static string Memo_Approved
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.memo_approved;
			}
		}	
		
		public static string CQResult_Pass
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.cqresult_pass;
			}
		}
		public static string CQResult_Fail
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.cqresult_fail;
			}
		}

		public static string Priority_High
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.priority_high;
			}
		}

		public static string AMKType_New
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.amktype_new;
			}
		}
		public static string AMKType_Qualified
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.amktype_qualified;
			}
		}
		public static string BU_BSS
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.bu_bss;
			}
		}
		public static string BU_QCD
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.bu_qcd;
			}
		}
		public static string BU_IED
		{
			get
			{
				if (config == null)
					config = new Configuration();
				return config.bu_ied;
			}
		}

		//Add by Joe 2007 6/4
		/// <summary>
		///
		/// </summary>
		public static string DeptHeaders
		{
			get
			{
				if( config == null )
					config = new Configuration();
				return config.deptHeaders;
			}
		}

	}
}
